import {
    specsList,
    specsCount
} from '../../../request/api'

const state = {
    specsList: [], //列表
    size: 2, //每页条数
    page: 1, // 页码数
    count: 0 // 总数
}

const getters = {
    // 列表
    getSpecsList(state) {
        return state.specsList
    },
    // 总数
    getCount(state) {
        return state.count
    },
    // 条数
    getSize(state) {
        return state.size
    },
}

const mutations = {
    // 列表
    REQ_SPECSLIST(state, payload) {
        state.specsList = payload
    },
    // 修改page
    REQ_PAGE(state,payload){
        state.page = payload
    },
    // 总数
    REQ_COUNT(state,payload){
        state.count = payload
    }
}

const actions = {
    // 列表
    changeSpecsAction(context) {
        specsList({
            size: context.state.size,
            page: context.state.page,
        }).then(res => {
            console.log(res, '商品规格列表');
            if (res.code == 200) {
                let list = res.list ? res.list : []
                context.commit('REQ_SPECSLIST', res.list)
                if(context.state.page!=1 && list.length==0){
                    context.dispatch('changePageAction',context.state.page-1)
                }
            }
        })
    },
    getChangeSpecsAction(context) {
        specsList().then(res => {
            console.log(res, '商品规格列表');
            if (res.code == 200) {
                let list = res.list ? res.list : []
                context.commit('REQ_SPECSLIST', res.list)
                if(context.state.page!=1 && list.length==0){
                    context.dispatch('changePageAction',context.state.page-1)
                }
            }
        })
    },
    // 总数
    changeCountAction({commit}) {
        specsCount()
            .then(res => {
                console.log(res,'总数');
                if(res.code == 200){
                    commit('REQ_COUNT',res.list[0].total)
                }
            })
    },
    // 改变page
    changePageAction(context,payload){
        // 每次切换页面的时候，修改page
        context.commit('REQ_PAGE',payload)
        // 重新调用列表
        context.dispatch('changeSpecsAction')
    }
}

export default {
    state,
    getters,
    mutations,
    actions,
    namespaced: true
}